The argparse python module provides an easy declarative interface for 
creating command line tools.  Argparse knows how to parse the arguments 
and flags from sys.argv, convert arg strings into objects for your program,
format and print informative help messages, and much more...

The argparse module improves on the standard library optparse module in
a number of ways including handling positional arguments, support for 
sub-commands, allowing alternative option prefixes like + and /,
handling zero-or-more and one-or-more style arguments, producing more 
informative usage messages, and providing a much simpler interface for 
custom types and actions.
